home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------------ */
- /*
- HTTrack Website Copier, Offline Browser for Windows and Unix
- Copyright (C) Xavier Roche and other contributors
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
- Important notes:
-
- - We hereby ask people using this source NOT to use it in purpose of grabbing
- emails addresses, or collecting any other private information on persons.
- This would disgrace our work, and spoil the many hours we spent on it.
-
-
- Please visit our Website: http://www.httrack.com
- */
-
-
- /* ------------------------------------------------------------ */
- /* File: Mini-server */
- /* Author: Xavier Roche */
- /* ------------------------------------------------------------ */
-
- // Fichier intercepteur d'URL .h
-
- #ifndef HTS_SERVER_DEFH
- #define HTS_SERVER_DEFH
-
- #include "htsbasenet.h"
-
- // Fonctions
- void socinput(T_SOC soc,char* s,int max);
- T_SOC smallserver_init_std(int* port_prox,char* adr_prox);
- T_SOC smallserver_init(int* port,char* adr);
- int smallserver(T_SOC soc,char* url,char* method,char* data, char* path);
-
- #define CATCH_RESPONSE \
- "HTTP/1.0 200 OK\r\n"\
- "Content-type: text/html\r\n"\
- "\r\n"\
- "<!-- Generated by HTTrack Website Copier -->\r\n"\
- "<HTML><HEAD>\r\n"\
- "<TITLE>Link caught!</TITLE>\r\n"\
- "<SCRIPT LANGUAGE=\"Javascript\">\r\n"\
- "<!--\r\n"\
- "function back() {\r\n"\
- " history.go(-1);\r\n"\
- "}\r\n"\
- "// -->\r\n"\
- "</SCRIPT>\r\n"\
- "</HEAD>\r\n"\
- "<BODY>\r\n"\
- "<H2>Link captured into HTTrack Website Copier, you can now restore your proxy preferences!</H2>\r\n"\
- "<BR><BR>\r\n"\
- "<H3><A HREF=\"javascript:back();\">Clic here to go back</A></H3>\r\n"\
- "</BODY></HTML>"\
- "<!-- Generated by HTTrack Website Copier -->\r\n"\
- "\r\n"\
-
-
- /* String */
-
- typedef struct {
- char* buff;
- int len;
- int capa;
- } String;
-
- #define STRING_EMPTY {NULL, 0, 0}
- #define BLK_SIZE 8192
- #define StringBuff(blk) ((blk)->buff)
- #define StringLength(blk) ((blk)->len)
- #define StringCapacity(blk) ((blk)->capa)
- #define StringClear(blk) do { \
- if ((blk)->capa > 0) { \
- (blk)->buff[0] = '\0'; \
- }\
- (blk)->len = 0; \
- } while(0)
- #define StringFree(blk) do { if ((blk)->buff != NULL) { freet((blk)->buff); (blk)->buff = NULL; } } while(0)
- #define StringMemcat(blk, str, size) do { \
- if ((blk)->len + (int)(size) + 1 > (blk)->capa) { \
- (blk)->capa = (blk)->len + (size) + BLK_SIZE; \
- (blk)->buff = (char*) realloct((blk)->buff, (blk)->capa); \
- assertf((blk)->buff != NULL); \
- } \
- if ((int)(size) > 0) { \
- memcpy((blk)->buff + (blk)->len, (str), (size)); \
- (blk)->len += (size); \
- } \
- *((blk)->buff + (blk)->len) = '\0'; \
- } while(0)
- #define StringAddchar(blk, c) do { \
- char __c = (c); \
- StringMemcat(blk, &__c, 1); \
- } while(0)
- static void* StringAcquire(String* blk) {
- void* buff = blk->buff;
- blk->buff = NULL;
- blk->capa = 0;
- blk->len = 0;
- return buff;
- }
-
- static void StringStrcat(String* blk, char* str) {
- StringMemcat(blk, str, strlen(str));
- }
-
-
- /* Language files */
- int htslang_load(char* limit_to, char* apppath);
- void conv_printf(char* from,char* to);
- void LANG_DELETE(void);
- void LANG_INIT(char* path);
- int LANG_T(char* path, int l);
- int QLANG_T(int l);
- char* LANGSEL(char* name);
- char* LANGINTKEY(char* name);
- int LANG_SEARCH(char* path, char* iso);
- int LANG_LIST(char* path, char* buffer);
-
- int htslang_init(void);
- int htslang_uninit(void);
-
- int linput_cpp(FILE* fp,char* s,int max);
- void unescapehttp(char* s, String* tempo);
- void unescapeini(char* s, String* tempo);
-
- int smallserver_setkey(char* key, char* value);
- int smallserver_setkeyint(char* key, LLint value);
- int smallserver_setkeyarr(char* key, int id, char* key2, char* value);
-
- #endif
-
-
-
-